package main

/**
 * ex17. flag包的使用
 *
 * @author cyy
 * @date 2020/12/20
 */
import (
	"flag"
	"fmt"
	"os"
)

func main() {
	// 获取命令行参数
	fmt.Printf("%#v\n", os.Args)
	fmt.Printf("%T\n", os.Args)

	/*
		// 创建标志位参数
		name := flag.String("name", "yayako", "请输入名字")
		age := flag.Int("age", 22, "请输入年龄")
		flag.Parse()	// 解析命令行参数
		fmt.Println(*name)
		fmt.Println(*age)
	*/

	var name string
	flag.StringVar(&name, "name", "yayako", "请输入名字")
	flag.Parse()
	fmt.Println(name)

	fmt.Println(flag.Args())  // 以[]string返回命令行参数后的其他参数
	fmt.Println(flag.NArg())  // 返回命令行参数后的其他参数个数
	fmt.Println(flag.NFlag()) // 返回使用了的命令行参数个数

}
